package br.net.atasacramental.organizacao.model;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;

import org.hibernate.annotations.Formula;
import org.hibernate.annotations.GenericGenerator;

@Entity
@Table(name="ORGANIZACAO_LANCAMENTO")
public class OrganizacaoLancamento{

	@Id 
	@GenericGenerator(name="seq_organizacao_lancamento" , strategy="increment")
	@GeneratedValue(strategy=GenerationType.SEQUENCE,generator="seq_organizacao_lancamento")	 
	@Column(name="ID_ORGANIZACAO_LANCAMENTO")
	private int idOrganizacaoLancamento;
	@Column(name="ID_ORGANIZACAO")	
	private int idOrganizacao;
	@Column(name="VALOR")
	private int valor;
	@Formula("(select IFNULL(o.DESCRICAO,'') from ORGANIZACAO o where o.ID_ORGANIZACAO = ID_ORGANIZACAO)")
	private String dsOrganizacao;
	@Column(name="ID_TRIMESTRE")
	private int idTrimestre;
	@Formula("(select CONCAT(t.NR_TRIMESTRE,'&ordm; trim. de ',t.ANO) from TRIMESTRE t where t.ID_TRIMESTRE = ID_TRIMESTRE)")
	private String dsTrimestre;
		
    public OrganizacaoLancamento() {
    }

	public int getIdOrganizacaoLancamento() {
		return idOrganizacaoLancamento;
	}

	public void setIdOrganizacaoLancamento(int idOrganizacaoLancamento) {
		this.idOrganizacaoLancamento = idOrganizacaoLancamento;
	}

	public int getIdOrganizacao() {
		return idOrganizacao;
	}

	public void setIdOrganizacao(int idOrganizacao) {
		this.idOrganizacao = idOrganizacao;
	}
	public int getValor() {
		return valor;
	}
	public void setValor(int valor) {
		this.valor = valor;
	}

	public String getDsOrganizacao() {
		return dsOrganizacao;
	}

	public void setDsOrganizacao(String dsOrganizacao) {
		this.dsOrganizacao = dsOrganizacao;
	}

	public int getIdTrimestre() {
		return idTrimestre;
	}

	public void setIdTrimestre(int idTrimestre) {
		this.idTrimestre = idTrimestre;
	}

	public String getDsTrimestre() {
		return dsTrimestre;
	}

	public void setDsTrimestre(String dsTrimestre) {
		this.dsTrimestre = dsTrimestre;
	}		
}